﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Dao;
using Dao.Intermediarios;

namespace _InformaticaIndustrial_DerivdosVinicos.Interfaz
{
    public partial class NuevoParametrosDemanda : Form
    {
        IPParametros ipParam = new IPParametros();
        IPCoeficiente ipCoef = new IPCoeficiente();
        ParametrosDemanda param;
        ParametrosDemanda parametro;
        int idGuardar;

        public NuevoParametrosDemanda(Principal principal)
        {
            InitializeComponent();
            cargarParametros();


        }
        public void cargarParametros()
        {
            ParametrosDemanda param = ipParam.getAll<ParametrosDemanda>().Last<ParametrosDemanda>();
            txtNMovil.Text = param.nMovil.ToString();
            txtNPond.Text = param.nPonderado.ToString();
            txtAlfa.Text = param.alfa.ToString();
            idGuardar = param.idParametros + 1;

            IList<Coeficiente> coef = ipCoef.getAll<Coeficiente>();
            string conc = "";

            foreach (var c in coef)
            {
                conc = conc + c.valor.ToString() + " ; ";
            }
            txtCoef.Text = conc;
            //TRAER LOS COEFICIENTES
            //FALTA AGREGAR EL ALFA EN LA TABLA PARAMETROS!!
        }
        private void btSalir_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btModificar_Click(object sender, EventArgs e)
        {
            //txtAlfa.Enabled = false;
            //txtCoef.Enabled = false;
            //txtNMovil.Enabled = false;
            //txtNPond.Enabled = false;

            txtAlfa.Text = "";
            txtCoef.Text = "";
            txtNMovil.Text = "";
            txtNPond.Text = "";


        }

        private void btGuardar_Click(object sender, EventArgs e)
        {
            parametro = new ParametrosDemanda();
            Coeficiente coefic;
            parametro.nMovil = Convert.ToInt16(txtNMovil.Text);
            parametro.nPonderado = Convert.ToInt16(txtNPond.Text);
            parametro.alfa = Convert.ToDouble(txtAlfa.Text);

            ipParam.save<ParametrosDemanda>(parametro);

            string cadena = txtCoef.Text;
            char separador=';';
            foreach (string s in cadena.Split(separador))
            {
                coefic = new Coeficiente();
                coefic.valor = Convert.ToDouble(s);
                coefic.idParametros = idGuardar;
                ipCoef.save<Coeficiente>(coefic);
            }
            MessageBox.Show("Se han cargado nuevos parámetros.");
         }
    }
}


